package com.sk.rpcAssist.io.protocol;

import java.io.InputStream;
import java.io.OutputStream;

/**
 * description：序列化策略接口
 *
 * @author 孙文斌
 * @Date: 2021/2/4 16:09
 */
public interface MessageProtocolInter {
 /**
  * 服务端解析从网络传输的数据，转变成request
  * @param inputStream
  * @return
  */
 RpcRequest serviceToRequest(InputStream inputStream);

 /**
  * 服务端把计算机的结果包装好，通过outputStream 返回给客户端
  * @param response
  * @param outputStream
  * @param
  */
 void serviceGetResponse(RpcResponse response, OutputStream outputStream);

 /**
  * 客户端把请求拼接好，通过outputStream发送到服务端
  * @param request
  * @param outputStream
  */
 void clientToRequest(RpcRequest request, OutputStream outputStream);

 /**
  * 客户端接收到服务端响应的结果，转变成response
  * @param inputStream
  */
 RpcResponse clientGetResponse(InputStream inputStream);
}